package algoWing42.modelo;


public class Avioneta extends AvionEnemigo {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = -6300485721160300959L;
	public static final int RADIO_AVIONETA = 30;
	public static final int VALOR_PUNTOS_AVIONETA = 20;
	public static final int ENERGIA_AVIONETA = 5;
	public static final int VELOCIDAD_AVIONETA = 1;
	public static final double PROB_DISPARAR_AVIONETA = 0.03;
	
    public Avioneta(int x, int y) {
        super(x, y, RADIO_AVIONETA); 
        inicializarAvioneta();
    }

    public Avioneta(Punto posicion) {
        super(posicion.getX(), posicion.getY(), RADIO_AVIONETA);
        inicializarAvioneta();
    }

    private void inicializarAvioneta() {
        valorEnPuntos = VALOR_PUNTOS_AVIONETA;
        energia = ENERGIA_AVIONETA;
    }

    @Override
    protected void mover() {
        if(this.getY()>=Juego.LARGO){ 
          this.setY(5);
           } 
        else {
            this.moverEnDireccion(0, VELOCIDAD_AVIONETA);
           }
    }

    private void dispararLaser() {
        Disparo disparoTemp = new Laser(this.getArea().getPosicion(), false);
        Juego.singleton().agregarDisparoEnemigo(disparoTemp);
    }

    @Override
    public void vivir() {
        this.mover();

        double numeroRandom = Math.random();

        if (numeroRandom < PROB_DISPARAR_AVIONETA) {
            this.dispararLaser();
        }
    }
}
